#include "map/MapLocation.h"
#include "util/ByIdMatcher.h"

MapLocation::MapLocation(std::string id, std::string roadName, int height,
		MapLocationType type, double x, double y, double rotation) {
	this->setId(id);
	this->setRoadName(roadName);
	this->setHeight(height);
	this->setType(type);
	this->setXPosition(x);
	this->setYPosition(y);
	this->setRotation(rotation);
}

MapLocation::~MapLocation() {

}

std::string MapLocation::getId() {
	return this->id;
}

std::string MapLocation::getRoadName() {
	return this->roadName;
}

int MapLocation::getHeight() {
	return this->height;
}

MapLocationType MapLocation::getType() {
	return this->type;
}

double MapLocation::getX() {
	return this->xPosition;
}

double MapLocation::getY() {
	return this->yPosition;
}

double MapLocation::getRotation() {
	return this->rotation;
}

bool MapLocation::equals(MapLocation* other) {
	return this->getId() == other->getId();
}

void MapLocation::setId(std::string id) {
	this->id = id;
}

void MapLocation::setRoadName(std::string roadName) {
	this->roadName = roadName;
}

void MapLocation::setHeight(int height) {
	this->height = height;
}

void MapLocation::setType(MapLocationType type) {
	this->type = type;
}

void MapLocation::setXPosition(double x) {
	this->xPosition = x;
}

void MapLocation::setYPosition(double y) {
	this->yPosition = y;
}

void MapLocation::setRotation(double rotation){
	this->rotation = rotation;
}
